// 对axios进行配置
import axios from "axios";
import router from "../router";

import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";

// 开发环境下使用代理
// axios.defaults.baseURL = process.env.NODE_ENV === 'development' ? '/api' : ''
let env = process.env.NODE_ENV;
switch (env) {
  case "development":
    axios.defaults.baseURL = "/api";
    break;
  case "production":
    axios.defaults.baseURL = "http://chst.vip";
    break;
  case "test":
    axios.defaults.baseURL = "xxxxx";
}
axios.create({
  withCredentials: true,
  timeout: 7000
});

//定义一个请求拦截器
axios.interceptors.request.use(config => {
  //config就是被拦截掉的每一个请求的配置
  // console.log(config)
  // return config 拦截器放行
  // 登录是不需要拦截的
  if (config.url === "/user/login") {
    return config;
  } else {
    let token = localStorage.getItem("qf-token");
    config.headers["authorization"] = token;
    return config;
  }
});

// 响应拦截
axios.interceptors.response.use(config => {
  // config是响应回来的对象

  // 1004表示校验失败
  // 10022表示登入态失效
  if (config.data.code === "1004" || config.data.code === "10022") {
    ElementUI.Message.error("登陆过期，请重新登陆");
    // 跳转到登录页面
    router.push("/login");
  }
  // let {code}=config.data
  // if (code === '1004' || code === '10022') {
  //     ElementUI.Message.error('登陆过期，请重新登陆')
  //     // 跳转到登录页面
  //     router.push('/login')
  // }
  // console.log(config.data.code)
  return config;
});

export default axios;
